perm filename RUNNER.SAI[VIS,HPM]1 blob sn#142197 filedate 1975-01-31 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "RUNNER"
C00006 ENDMK
C⊗;
BEGIN "RUNNER"
REQUIRE "VIXNIC.SAI[VIS,HPM]" SOURCE_FILE;
REQUIRE "WIXNIC.SAI[VIS,HPM]" SOURCE_FILE;
REQUIRE "DDEXT.SAI[VIS,HPM]" SOURCE_FILE;

INTEGER HEIGHT,WIDTH;

HEIGHT←WIDTH←256; BITS←4; NPIC←8;
FILTERWINDOW←20;
INTERESTWINDOW←7;

   BEGIN
   INTEGER I,NFEATS;
   INTEGER ARRAY P1[0:1,0:PICDIM(HEIGHT,WIDTH,BITS)-1],
                 P2[0:1,0:PICDIM(HEIGHT%2,WIDTH%2,BITS+2)-1],
                 P4[0:NPIC-1,0:PICDIM(HEIGHT%4,WIDTH%4,BITS+4)-1];
   INTEGER ARRAY FEATURE[0:NPIC-1,1:100,0:2];
   comment   third dimension 0 - value (interest or correlation)
                             1 - y position of the feature
                             2 - x position of the feature;
   DEFINE  VAL="0", X="1", Y="2";
   FOR I←0 STEP 1 UNTIL NPIC-1 DO
      BEGIN
         BEGIN
         INTEGER ARRAY T[0:PICDIM(HEIGHT,WIDTH,BITS)-1];
         MAKPIX(HEIGHT,WIDTH,BITS,T[0]);
         CAMPIX(0,1,1,1,8,T[0]);
         CLEAN(T[0]);
         PASSHI(T[0],FILTERWINDOW,P1[I MOD 2,0]);
         HAFPIC(P1[I MOD 2,0],P2[I MOD 2,0]);
         HAFPIC(P2[I MOD 2,0],P4[I,0]);
	 END;
      IF I=0 THEN 
         BEGIN
         INTEGER IAV,I,J;
         INTEGER ARRAY INTEREST[-2:(WIDTH-1)%INTERESTWINDOW-1,
                                 0:(HEIGHT-1)%INTERESTWINDOW-1];
         IAV←INTRST(P1[0,0],INTERESTWINDOW,INTEREST[0,0]);
         NFEATS←0;
         FOR I←0 STEP 1 UNTIL (HEIGHT-1)%INTERESTWINDOW-1 DO
         FOR J←0 STEP 1 UNTIL (WIDTH-1)%INTERESTWINDOW-1 DO
            IF INTEREST[I,J]≥IAV ∧ (INTEREST[I,J] LAND 1)=0 THEN
               BEGIN
               NFEATS←NFEATS+1;
               FEATURE[0,NFEATS,VAL]←INTEREST[I,J];
               FEATURE[0,NFEATS,Y]←I*INTERESTWINDOW;
               FEATURE[0,NFEATS,X]←J*INTERESTWINDOW;
               END;
         END
      ELSE
         BEGIN
         INTEGER J;
         FOR J←1 STEP 1 UNTIL NFEATS DO IF FEATURE[I-1,J,VAL]≠0 THEN
            BEGIN